package com.ep.instruktor.kursanci;

import com.ep.general.ActionSupportCustom;
import com.ep.general.instruktor.Instruktor;
import com.ep.general.kursant.Kursant;
import com.ep.general.kursant.KursantMdt;
import com.ep.instruktor.app.login.LoginRequierd;

public class KursantAction extends ActionSupportCustom<Instruktor> implements LoginRequierd {

	private static final long serialVersionUID = -16428795029903202L;
	private final String KURSANT = "kursantGodziny";
	private KursantView view;
	private int kursantId;
	private float godzinyJazdy;
	private float godzinyWykladow;

	public String kursanciList() {
		setDataArray(getView().getKursanci(getLoggedUser().getId()));
		return DATA_ARRAY;
	}

	public String showKursant() {
		Kursant kursant = new KursantMdt().get(kursantId);
		setDataArray(kursant.getAsJson());

		return DATA_ARRAY;
	}

	public String editGodziny() {
		KursantMdt kursantMdt = new KursantMdt();
		Kursant kursant = kursantMdt.get(kursantId);

		setGodzinyJazdy(kursant.getGodzJazdy());
		setGodzinyWykladow(kursant.getGodzWykladu());

		getSession().remove(KURSANT);
		getSession().put(KURSANT, kursant);

		return EDIT;
	}

	public String updateGodziny() {
		Kursant kursantEdit = (Kursant) getSession().get(KURSANT);

		kursantEdit.setGodzJazdy(godzinyJazdy);
		kursantEdit.setGodzWykladu(godzinyWykladow);

		KursantMdt kursantMdt = new KursantMdt();
		kursantMdt.makePersistent(kursantEdit);

		getSession().remove(KURSANT);
		setText("Godziny kursanta zostały zaktualizowane");
		return TEXT_RESULT;
	}

	private KursantView getView() {
		if (view == null)
			view = new KursantView();
		return view;
	}

	public int getKursantId() {
		return kursantId;
	}

	public void setKursantId(int kursantId) {
		this.kursantId = kursantId;
	}

	public float getGodzinyJazdy() {
		return godzinyJazdy;
	}

	public void setGodzinyJazdy(float godzinyJazdy) {
		this.godzinyJazdy = godzinyJazdy;
	}

	public float getGodzinyWykladow() {
		return godzinyWykladow;
	}

	public void setGodzinyWykladow(float godzinyWykladow) {
		this.godzinyWykladow = godzinyWykladow;
	}

}
